$(function(){
    
    $("#form").validate({
        onfocusout: function (element) {
            $(element).valid();
        },
        errorPlacement: function(error, element) 
        {
            element.attr('title', error.text());
            $(".error").tooltip({   
                position: {
                    my: "center bottom-10",
                    at: "right top",
                    using: function(position, feedback) {
                        $(this).css(position);
                        $("<div>").addClass("arrow").addClass(feedback.vertical).addClass(feedback.horizontal).appendTo(this);
                    }
                },
                tooltipClass: "ttError"
            }); 
        },
        rules: {
        },
    });
    
    $.validator.addMethod("cpf", function(value, element) { var cpf = value; cpf = cpf.replace(/[^\d]+/g,''); if(cpf == '' || cpf.length != 11){ return true; } if(cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" ||  cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){ return false; } add = 0; for(i=0; i < 9; i ++){ add += parseInt(cpf.charAt(i)) * (10 - i); } rev = 11 - (add % 11); if(rev == 10 || rev == 11) rev = 0; if(rev != parseInt(cpf.charAt(9))) return false; add = 0; for(i = 0; i < 10; i ++){ add += parseInt(cpf.charAt(i)) * (11 - i); } rev = 11 - (add % 11); if(rev == 10 || rev == 11){ rev = 0; } if(rev != parseInt(cpf.charAt(10))){ return false; } return true; }, "CPF inválido");
    
    
    $('#USU_CPF').blur(function() {
        CPFdpl($('#USU_ID').val(),$('#USU_CPF').val(),'USU_CPF');
    });
    
});

function CPFdpl(id,cpf,el){
    $.post(URLBASE+'/usuarios/cpfdpl/',{ id:id, cpf:cpf },function(data) {
        if(data.ok){ alert(data.msg); $('#'+el).focus(); }
        else if(!vercpf(cpf)){ alert('CPF inválido'); $('#'+el).focus(); }
     }, 'json');
    return false;
}

function vercpf(cpf){ 
    
    cpf = cpf.replace(/[^\d]+/g,'');
    
    if(cpf == '' || cpf.length != 11){ return true; } 
    
    if (cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999")
        return false;
    
    add = 0;
    
    for (i=0; i < 9; i ++) add += parseInt(cpf.charAt(i)) * (10 - i);
    rev = 11 - (add % 11);
    
    if (rev == 10 || rev == 11) rev = 0;

    if (rev != parseInt(cpf.charAt(9))) return false;
    
    add = 0;
    
    for (i = 0; i < 10; i ++) add += parseInt(cpf.charAt(i)) * (11 - i);

    rev = 11 - (add % 11);
    
    if (rev == 10 || rev == 11) rev = 0;
    
    if (rev != parseInt(cpf.charAt(10))) return false;
    
    return true;
}